<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>URL Helper : คู่มือการใช้งาน CodeIgniter</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />
</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker_th.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">หน้าตารางเนื้อหา</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.in.th/">CodeIgniter.in.th</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a> &nbsp;&#8250;&nbsp;
URL Helper
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.in.th/user_guide/" />ค้นหาคู่มือการใช้งาน&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="ค้นหา" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>URL Helper</h1>

<p>ไฟล์ URL Helper มีฟังก์ชันที่จะช่วยเหลือการทำงานกับ URL</p>


<h2>เรียกใช้งานผู้ช่วยนี้</h2>

<p>ผู้ช่วยตัวนี้จะสามารถถูกโหลดโดยใช้โค้ดดังนี้</p>
<code>$this->load->helper('url');</code>

<p>ฟังก์ชันที่สามารถใช้ได้มีดังนี้</p>

<h2>site_url()</h2>

<p>ส่งค่า URL สถานที่ตั้งคืนกลับไปโดยขึ้นอยู่กับไฟล์ในปรับแต่งของคุณ (config.php)  โดยรวม index.php (หรืออะไรก็ตามที่คุณตั้งค่าสถานที่ตั้งของคุณหรือ <dfn>index_page</dfn> ในไฟล์ปรับแต่งของคุณ) จะถูกเพิ่มลงไปใน URL ด้วยเหมือนเป็นส่วนหนึ่งของ URI ที่จะส่งผ่านต่อไปยังฟังก์ชัน</p>

<p>คุณสามารถที่จะใช้ฟังก์ชันนี้เมื่อเวลาคุณต้องการสร้าง URL ภายในแอพพลิเคชั่นของคุณ ดังนั้นหน้าต่างๆของคุณจะสามารถถูกเข้าถึงได้ง่ายเวลามีการเปลี่ยน URL</p>

<p>ส่วนต่างๆของ URL เป็นทางเลือกในการใช้ฟังก์ชันโดยใช้เป็น สตริงหรืออาเรย์ก็ได้ ดังตัวอย่างนี้</p>

<code>echo site_url("news/local/123");</code>

<p>ด้านบนจะได้ผลลัพธ์กลับมาเป็นดังนี้ http://example.com/index.php/news/local/123</p>

<p>และนี้คือตัวอย่างโดยการใช้แบบอาเรย์</p>

<code>
$segments = array('news', 'local', '123');<br />
<br />
echo site_url($segments);</code>


<h2>base_url()</h2>
<p>ส่งค่า URL สถานที่ตั้งหลักโดยเจาะจงมาจากไฟล์ปรับแต่งของคุณ (config.php)  ตัวอย่างการใช้งาน</p>
<code>echo base_url();</code>


<h2>current_url()</h2>
<p>ส่งค่า URL แบบสมบูรณ์(รวมส่วนต่างๆของ URL มาหมด) ของหน้าที่กำลังถูกดู</p>


<h2>uri_string()</h2>
<p>ส่งค่าส่วนใดๆของ URI กลับมาโดยฟังก์ชันนี้ ยกตัวอย่างเช่น ถ้า URL ของคุณเป็นแบบนี้</p>
<code>http://some-site.com/blog/comments/123</code>

<p>ฟังก์ชันนี้จะส่งกลับมาเช่นนี้</p>
<code>blog/comments/123</code>


<h2>index_page()</h2>
<p>ส่งค่าหน้าที่ตั้ง "index" ตามที่เขียนไว้ในไฟล์ปรับแต่ง  ตัวอย่างวิธีใช้</p>
<code>echo index_page();</code>



<h2>anchor()</h2>

<p>สร้างลิงค์ตามแบบฉบับมาตรฐาน HTML โดยมีค่า URL พื้นฐานอยู่บนเว็บไซค์ของคุณเอง</p>

<code>&lt;a href="http://example.com">Click Here&lt;/a></code>

<p>ฟังก์ชันนี้มีสามพารามิเตอร์ดังนี้</p>

<code>anchor(<var>uri segments</var>, <var>text</var>, <var>attributes</var>)</code>

<p>โดยพารามิเตอร์แรกให้ใส่ส่วนของ URL ที่คุณต้องการโดยเพิ่มไปยัง URL เช่นเดียวกับฟังก์ชัน <dfn>site_url()</dfn> ด้านบน ส่วนสามารถที่จะเป็นสตริงหรืออาเรย์ได้</p>

<p><strong>ข้อสังเกตุ:</strong>&nbsp; ถ้าคุณสร้างลิงค์ภายในแอพพลิเคชั่นของคุณเองไม่ต้องใส่ URL ฐานที่ตั้ง (http://...) โดยจะถูกเพิ่มอย่างอัตโนมัติจากข้อมูลที่ถูกใส่ไว้ในไฟล์ปรับแต่ง ให้ใส่เฉพาะส่วนของ URI ที่ต้องให้เพิ่มเติมไปใน URL</p>

<p>ส่วนพารามิเตอร์ที่สองคือข้อความที่คุณต้องการจะลิงค์  โดยถ้าปล่อยวาง จะใช้ค่า URL มาใส่แทน</p>

<p>ส่วนพารามิเตอร์ที่สามสามารถใส่คุณสมบัติที่คุณต้องการเพิ่มไปยังลิงค์ได้  คุณสมบัติสามารถเป็นทั้งสตริงหรืออาเรย์แบบความสัมพันธ์</p>

<p>นี้คือตัวอย่างวิธีใช้งานบางส่วน</p>

<code>echo anchor('news/local/123', 'My News');</code>

<p>ถ้าใช้ฟังก์ชันด้านบนจะแสดงผลลัพธ์เป็น &lt;a href="http://example.com/index.php/news/local/123" title="My News">My News&lt;/a></p>

<code>echo anchor('news/local/123', 'My News', array('title' => 'The best news!'));</code>

<p>จากด้านบนจะแสดงผลลัพธ์เป็น &lt;a href="http://example.com/index.php/news/local/123" title="The best news!">My News&lt;/a></p>


<h2>anchor_popup()</h2>

<p>มีลักษณะใกล้เคียงกับฟังก์ชัน <dfn>anchor()</dfn> ยกเว้นแต่มันจะเปิด URL ในหน้าต่างใหม่

คุณสามารถกำหนดคุณสมบัติของหน้าต่างที่เปิดได้ด้วย JavaScript จากพารามิเตอร์ที่สามได้ ถ้าพารามิเตอร์ที่สามไม่ได้ถูกตั้งค่ามันจะเปิดหน้าต่างใหม่ตามการตั้งค่าของ Browser ของคุณ (หรือของคนๆที่กดลิงค์)  นี้คือตัวอย่างพร้อมกับการกำหนดคุณสมบัติ</p>

<code>

$atts = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'width'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '800',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'height'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '600',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'scrollbars' => 'yes',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'status'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> 'yes',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'resizable'&nbsp;&nbsp;=> 'yes',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'screenx'&nbsp;&nbsp;&nbsp;&nbsp;=> '0',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'screeny'&nbsp;&nbsp;&nbsp;&nbsp;=> '0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
echo anchor_popup('news/local/123', 'Click Me!', $atts);</code>

<p>ข้อสังเกตุ: คุณสมบัติต่างๆด้านบนคือฟังก์ชันปกติ ดังนั้นคุณสามารถที่จะเปลี่ยนแปลงเพียงหนึ่งค่าให้แตกต่างจากค่าปกติตามที่ต้องการได้
ถ้าคุณต้องการใช้ค่าปกติคุณเพียงใส่อาเรย์ว่างๆในพารามิเตอร์ที่สามได้เลย</p>

<code>echo anchor_popup('news/local/123', 'Click Me!', array());</code>


<h2>mailto()</h2>

<p>สร้างลิงค์อีเมล์ตามมาตรฐาน HTML นี้คือตัวอย่างการใช้งาน</p>

<code>echo mailto('me@my-site.com', 'Click Here to Contact Me');</code>

<p>และมีลักษณะเหมือน <dfn>anchor()</dfn> ด้านบนทำให้คุณสามารถตั้งค่าคุณสมบัติในพารามิเตอร์ที่สามได้ด้วย</p>


<h2>safe_mailto()</h2>

<p>เหมือนกับฟังก์ชันด้านบนยกเว้นว่ามันจะเขียนแท็กของ mailto ในลักษณะที่ยุ่งเหยิงโดยใช้เลขลำดับที่ถูกเขียนด้วย JavaScript เพื่อป้องกันที่อยู่อีเมล์ จากการเก็บข้อมูลจากหุ่นยนต์ขยะ (Spam Bot)</p>


<h2>auto_link()</h2>

<p>เปลี่ยน URL และที่อยู่อีเมล์ที่อยู่ในสตริงเป็นลิงค์อย่างอัตโนมัติ ตัวอย่างวิธีใช้</p>

<code>$string = auto_link($string);</code>

<p>พารามิเตอร์ที่สองกำหนดว่าจะให้แปลงค่าทั้ง URL และอีเมล์หรืออย่างใดอย่างหนึ่ง โดยปกติแล้วจะถูกตั้งค่าเป็นทั้งสองอย่าง ลิงค์อีเมล์ทั้งหมดจะถูกเข้ารหัสจากฟังก์ชัน safe_mailto() ด้านบน</p>

<p>คำสั่งแปลงค่าเฉพาะ URL</p>
<code>$string = auto_link($string, 'url');</code>

<p>คำสั่งแปลงค่าเฉพาะที่อยู่อีเมล์</p>
<code>$string = auto_link($string, 'email');</code>

<p>พารามิเตอร์ที่สามกำหนดว่าลิงค์ที่แสดงในหน้าต่างใหม่รึเปล่า โดยเราสามารถใส่ค่า TRUE(จริง) หรือ FALSE(เท็จ) (ให้ใส่ค่าตรรกะไม่ใช่สตริง)</p>
<code>$string = auto_link($string, 'both', TRUE);</code>


<h2>url_title()</h2>
<p>นำข้อมูลสตริงมาสร้างสตริง URL ที่เป็นมิตรกับมนุษย์ สิ่งนี้จะเป็นประโยชน์มาก ยกตัวอย่างเช่น ถ้าคุณต้องการให้หัวข้อประกาศในบล็อคของคุณไปอยู่ใน URL ด้วย ยกตัวอย่างเช่น</p>

<code>$title = "What's wrong with CSS?";<br />
<br />
$url_title = url_title($title);<br />
<br />
// ผลลัพธ์คือ :  Whats-wrong-with-CSS</code>


<p>พารามิเตอร์ที่สองเอาไว้กำหนดตัวแบ่งคำ โดยปกติแล้วจะใช้ dash(-) คุณสามารถเลือกใช้ได้ระหว่าง  <dfn>dash(-)</dfn> หรือ <dfn>underscore(_)</dfn></p>

<p><code>$title = "What's wrong with CSS?";<br />
  <br />
  $url_title = url_title($title, 'underscore');<br />
  <br />
  // ผลลัพธ์คือ :  whats_wrong_with_css
  </code></p>
<p>พารามิเตอร์ที่สามนั้นกำหนดว่าบังคับให้เป็นตัวอักษรพิมพ์เล็กหรือไม่ โดยปกติพวกมันจะไม่ถูกบังคับ คุณสามารถเลือกใช้ตรรกะ <dfn>TRUE</dfn>/<dfn>FALSE</dfn> ได้</p>

<code>$title = "What's wrong with CSS?";<br/>

<br/>
$url_title = url_title($title, 'underscore', TRUE);<br/>
<br/>
// ผลลัพธ์คือ :  whats_wrong_with_css
</code>
<h3>prep_url()</h3>
<p>ฟังก์ชันนี้จะเพิ่ม <kbd>http://</kbd> ลงไปในกรณีที่ไม่มีค่านี้ใน URL  วิธีใช้คือใส่สตริง URL ลงไปในฟังก์ชันแบบนี้</p>
<code>
$url = "example.com";<br /><br />
$url = prep_url($url);<br />
<br />
// ผลลัพธ์คือ : http://example.com
</code>




<h2>redirect()</h2>

<p>ฟังก์ชันนี้ทำการ a "เปลี่ยนทิศทางของหัวข้อมูลระบบเครือข่าย(header redirect)" ไปยัง URI หรือ URL ที่กำหนด คล้ายๆฟังก์ชันตัวอื่นในผู้ช่วยนี้ นึ้คือหนึ่งในฟังก์ชันที่ถูกออกแบบเพื่อเปลี่ยนทิศไปยัง URL ภายในเว็บไซต์ของคุณ  คุณ<strong>ไม</strong>่ต้องใส่ URL ตัวเต็มของคุณ เพียงแต่ใส่ส่วนของ URI ไปยังตัวควบคุม(controller) ของคุณที่ต้องการไป ฟังก์ชันจะสร้าง URL พื้นฐานตามไฟล์ปรับแต่งของคุณ (config.php)</p>

<p>พารามิเตอร์ที่สองจะยอมให้คุณเลือกระหว่างวิธีแบบ "location"
 (โดยปกติ) หรือวิธีแบบ "refresh" แบบ location นั้นเร็วกว่าแต่บนเครื่อง Windows เซิร์ฟเวอร์บางครั้งมันสามารถทำให้เกิดปัญหาได้ ส่วนพารามิเตอร์ที่สามนั้นคุณสามารถส่ง HTTP Response Code ตามที่กำหนดในมาตรฐานได้ - สิ่งนี้จะถูกใช้สำหรับจุดประสงค์บางอย่าง เช่น สร้างเปลี่ยนทิศทางแบบ 301เพื่อ Search Engine โดยปกติแล้วจะมีค่าเป็น 302 พารามิเตอร์ที่สามนั้นจะสามารถใช้ได้เฉพาะวิธีเปลี่ยนทิศทางแบบ 'location' เท่านั้นและใช้ไม่ได้กับ 'refresh' ตัวอย่างเช่น</p>

<code>if ($logged_in == FALSE)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redirect('/login/form/', 'refresh');<br />
}<br />
<br />
// with 301 redirect<br />
redirect('/article/13', 'location', 301);</code>

<p class="important"><strong>ข้อสังเกตุ:</strong> เพื่อให้ฟังก์ชันนี้ทำงานมันจะต้องถูกใช้ก่อนที่ีผลลัพธ์อะไรก็ตามจะถูกส่งไปยัง Browser<br />
<strong>ข้อสังเกตุ:</strong> สำหรับการควมคุมเรื่องเล็กๆน้อยๆเกี่ยวกับหัวข้อมูลระบบเครือข่าย(header) คุณควรใช้ฟังก์ชัน set_header() ของ <a href="../libraries/output.html">Output  Library</a></p>






</div>
<!-- END CONTENT -->


<div id="footer">
<p>
หัวข้ออันก่อน:&nbsp;&nbsp;<a href="typography_helper.html">Typography Helper</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">บนสุดของหน้า</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
หัวข้อถัดไป:&nbsp;&nbsp;<a href="xml_helper.html">XML Helper</a>
</p>
<p>คู่มือการใช้งาน CodeIgniter นี้ได้ทำการคัดลอกและดัดแปลงจาก <a href="http://codeigniter.com/user_guide/">CodeIgniter User Guide</a></p><p>
<a href="http://codeigniter.com">CodeIgniter</a>
 ·  Copyright © 2006-2009  · 
<a href="http://ellislab.com/">Ellislab, Inc.</a>
</p>
</div>

</body>
</html>